//*****************************************************************************
// Classification:   UNCLASSIFIED//FOUO
//
// NAME:  IDataSource.java
//
// AUTHOR/DATE:  Mark  12/27/11
//
// DESCRIPTION: 
//
//*****************************************************************************
package com.mark.geoidz.modules.geoidz_Core.data;

import java.util.Date;

/**
 *
 * @author Mark Hazlewood
 */
public interface IDataSource<DataType>
{
   void fireNewDataEvent();
   void addDataEventListener(IDataEventListener<DataType> aListener);
   IDataEvent<DataType> getDataEvent(Date aTimestamp);
   boolean loadDataFromFile(String aFilePath);
   boolean bindToDataSocket();
   
   Date getDataStartTime();
   Date getDataEndTime();
   boolean hasDataAtTime(Date aTime);
}
